#include <iostream>
#include <cstring>
/**
 * @brief 关于想知道如何将数字变成字符的很多种办法
 * @author cmy
 */
using namespace std;
signed main() {
    char s[1000];
    int num = 2566615;
    sprintf(s, "%d", num); // <---将num打印成数字到s里
    printf("1\t%s\n", s);
    printf("2\t%s\n", s + 2);
    printf("3\t%c %c %c %c %c %c %c\n", s[0], s[1], s[2], s[3], s[4], s[5], s[6]);

    std::string ss;
    ss = std::to_string(num); // <---将num转化成字符串
    std::cout << "4\t" << ss << '\n';
    printf("5\t%s\n", ss.c_str());
    printf("6\t%s\n", ss.c_str() + 2);
    printf("7\t%c %c %c %c %c %c %c\n", ss.c_str()[0],
        ss.c_str()[1], ss.c_str()[2], ss.c_str()[3], ss.c_str()[4], ss.c_str()[5], ss.c_str()[6]);

    char *p = const_cast<char *>(ss.c_str());
    printf("8\t%s\n", p);
    strcpy(s + 5, const_cast<char *>(ss.c_str())); // s = const_cast<char *>(ss.c_str()) 错误行为
    printf("9\t%s\t%s", s, s + 5);
    return 0;
}